/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package funda.appius.Presupuesto;

import funda.appius.arquitectura.AbstractFunda;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author payo
 */
public class Insumo_Catalogo extends AbstractFunda{
    
    private String Concepto, Unidad;
    private double Precio, Importe, Cantidad, PorcentajeIndidencia;
    private int IdInsumoCatalogo,IdSeccionInsumos;

    public double getCantidad() {
        return Cantidad;
    }

    public void setCantidad(double Cantidad) {
        this.Cantidad = Cantidad;
    }

    public String getConcepto() {
        return Concepto;
    }

    public void setConcepto(String Concepto) {
        this.Concepto = Concepto;
    }

    public int getIdInsumoCatalogo() {
        return IdInsumoCatalogo;
    }

    public void setIdInsumoCatalogo(int IdInsumoCatalogo) {
        this.IdInsumoCatalogo = IdInsumoCatalogo;
    }

    public int getIdSeccionInsumos() {
        return IdSeccionInsumos;
    }

    public void setIdSeccionInsumos(int IdSeccionInsumos) {
        this.IdSeccionInsumos = IdSeccionInsumos;
    }

    public double getImporte() {
        return Importe;
    }

    public void setImporte(double Importe) {
        this.Importe = Importe;
    }

    public double getPorcentajeIndidencia() {
        return PorcentajeIndidencia;
    }

    public void setPorcentajeIndidencia(double PorcentajeIndidencia) {
        this.PorcentajeIndidencia = PorcentajeIndidencia;
    }

    public double getPrecio() {
        return Precio;
    }

    public void setPrecio(double Precio) {
        this.Precio = Precio;
    }

    public String getUnidad() {
        return Unidad;
    }

    public void setUnidad(String Unidad) {
        this.Unidad = Unidad;
    }
    
    
    
    public Insumo_Catalogo()
    {
        super();
    }

    public Insumo_Catalogo(String Concepto, String Unidad, double Precio, double Cantidad, double PorcentajeIndidencia, int IdSeccionInsumos) {
        super();
        this.Concepto = Concepto;
        this.Unidad = Unidad;
        this.Precio = Precio;
        this.Cantidad = Cantidad;
        this.Importe = Precio * Cantidad;
        this.PorcentajeIndidencia = PorcentajeIndidencia;
        this.IdSeccionInsumos = IdSeccionInsumos;
        this.IdInsumoCatalogo = Integer.parseInt(insertarId().toString());
    }
    
    @Override
    protected void fillFunda(ResultSet row) {
        try{
            int x =0;
            this.IdInsumoCatalogo = row.getInt(++x);
            this.Concepto = row.getString(++x);
            this.Unidad = row.getString(++x);
            this.Precio = row.getDouble(++x);
            this.Importe = row.getDouble(++x);
            this.Cantidad = row.getDouble(++x);
            this.PorcentajeIndidencia = row.getDouble(++x);
            this.IdSeccionInsumos = row.getInt(++x);
        }
        catch(Exception e){}
    }

    @Override
    protected void Comandos() {
        this.id = "IdInsumoCatalogo";
        this.tabla = "insumocatalogo";
        this.strDelete = "DeleteInsumoCatalogo";
        this.strInsertar = "InsertarInsumoCatalogo";
        this.strInsertarId = "InsertarIdInsumoCatalogo";
        this.strUpdate = "UpdateInsumoCatalogo";
    }

    @Override
    public ArrayList<Object> getAtributos() {
        ArrayList<Object> lst = new ArrayList<Object>();
        lst.add(Concepto);
        lst.add(Unidad);
        lst.add(Precio);
        lst.add(Importe);
        lst.add(Cantidad);
        lst.add(PorcentajeIndidencia);
        lst.add(IdSeccionInsumos);
        lst.add(IdInsumoCatalogo);
        return lst;
    }    
    
     @Override
    public Insumo_Catalogo get(Object id) {
        AbstractFunda abs = AbstractFunda.getAbstractFunda(new Insumo_Catalogo(),id,tabla,this.id);
        Insumo_Catalogo c = (Insumo_Catalogo)abs;
        return c;
    }
    
    public ArrayList<Insumo_Catalogo> getAll() {
        List<AbstractFunda> abs = AbstractFunda.getAll(tabla,id,this.getClass());
        ArrayList<Insumo_Catalogo> lst = new ArrayList<Insumo_Catalogo>();
        for(AbstractFunda af : abs)
            lst.add((Insumo_Catalogo)af);
        return lst;
    }
    
}
